openapi: 3.0.1
info:
  title: CDC - Certifier to ePlanning API
  description: >
    # Authentication    


    Please use the subscription key provided by the Department to access the
    APIs.
  contact: {}
  version: v1
servers:
  - url: https://api.apps1.nsw.gov.au/planning/CDCMgmt/Certifiers/v1
paths:
  /AcceptDecline/{CaseID}:
    put:
      summary: AcceptDecline
      description: >
        This operation transfers the certifier's decision regarding acceptance,
        declination, or return of the Complying Development Certificate case
        from the certifier's IT system to the Online CDC Service.
      operationId: put-acceptdecline-caseid
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number or case id
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name or Private Certifier Organisation name to
            indicate where the request is originated from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AcceptDecline'
        required: true
      responses:
        '200':
          description: Case updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptDeclineRes'
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /ProvideDevspec/{CaseID}:
    put:
      summary: ProvideDevspec
      description: >
        This operation transfers the certifier's provide development
        sepecification on the Complying Development Certificate case from
        certifier's IT system to the Online CDC Service.
      operationId: put-ProvideDevspec-id
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number or case id
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name or Private Certifier Organisation name to
            indicate where the request is originated from.
          required: true
          schema:
            type: string
      requestBody:
        description: Determination request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProvideDevspec'
        required: false
      responses:
        '200':
          description: Case updated
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /Determination/{CaseID}:
    put:
      summary: Determination
      description: >
        This operation transfers the certifier's determination decision on the
        Complying Development Certificate case

        from certifier's IT system to the Online CDC Service.
      operationId: Determination
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number or case id
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name or Private Certifier Organisation name to
            indicate where the request is originated from.
          required: true
          schema:
            type: string
      requestBody:
        description: Determination request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Determination'
        required: false
      responses:
        '200':
          description: Case updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeterminationRes'
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /FinalPlanSubmission/{CaseID}:
    put:
      summary: FinalPlanSubmission
      description: >
        This operation transfers the final plan submitted by the certifier from
        the certifier's IT system to the 

        Online CDC Service.
      operationId: FinalPlanSubmission
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number or case id
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name or Private Certifier Organisation name to
            indicate where the request is originated from.
          required: true
          schema:
            type: string
      requestBody:
        description: Determination request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadFinalPlanDocuments'
        required: false
      responses:
        '200':
          description: Final plan documents uploaded susccessfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinalplandocRes'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
components:
  schemas:
    AcceptDecline:
      title: AcceptDecline
      required:
        - reviewOfOutcome
        - updatedByEmail
      type: object
      properties:
        reviewOfOutcome:
          $ref: '#/components/schemas/ReviewOfOutcome'
        certifierCDCReferenceNumber:
          maxLength: 100
          type: string
          description: >-
            The CDC reference number generated in the council system and is
            required only when reviewOfOutcome is 'Accept application for
            assessment' and not applicable for 'Decline application for
            assessment'
          example: CDC201900049
        reasonsForDecline:
          maxLength: 512
          type: string
          description: >-
            This attribute is obsolete and is replaced by
            additionalCommentsForDeclineOrReturn. This is to track the reason
            for declining the application and is required only when 'Decline
            application for assessment'.
        reasonsForReturn:
          type: array
          description: >-
            This is to track the reasons for returning the application to the
            applicant. This is required when the review outcome is 'Return to
            applicant'
          items:
            $ref: '#/components/schemas/ReasonsForReturn'
        additionalCommentsForDeclineOrReturn:
          maxLength: 2000
          type: string
          description: >-
            This is to track the comments provided by the certifier while
            returning or declining the application. This is required when
            'reasonsForReturn' is 'other' during the 'Return to applicant'
            scenario. This is also required for the decline scenario when
            reviewOfOutcome is 'Decline application for assessment'.
        Documents:
          type: array
          description: >-
            documents are applicable for 'Decline application for assessment'
            and not applicable for 'Accept application for assessment'
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal
          example: john.smith@gmail.com
    DownloadableDocument:
      title: DownloadableDocument
      required:
        - documentName
        - documentType
        - documentURL
        - uploadedDateTime
      type: object
      properties:
        documentName:
          maxLength: 150
          type: string
          description: documentName has to be appended with file extension
          example: test.docx
        documentType:
          maxLength: 100
          type: string
        uploadedDateTime:
          type: string
          format: date-time
        documentURL:
          maxLength: 500
          type: string
          description: URL of the document to be downloaded
    UpdatedBy:
      title: UpdatedBy
      type: object
      properties:
        person:
          $ref: '#/components/schemas/PersonBody'
    PersonBody:
      title: PersonBody
      required:
        - emailAddress
        - firstName
        - surname
      type: object
      properties:
        firstName:
          maxLength: 20
          type: string
          example: John
        surname:
          maxLength: 20
          type: string
          example: Smith
        emailAddress:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal
          example: john.smith@gmail.com
        contactNumber:
          maxLength: 10
          minLength: 8
          pattern: ^[0-9]+$
          type: string
    DocResponse:
      title: DocResponse
      type: object
      properties:
        documentName:
          type: string
          description: documentName which was uploaded as part of respective API opeartion
          example: test.docx
        documentType:
          type: string
          description: Type of Document under which repsective document was uploaded
        eplanningDocId:
          type: string
          description: DocId of the respective document which was uploaded
        externalOrgDocURL:
          type: string
          description: URL of the document which was uploaded
    contributionDetails:
      description: >-
        This is to track the contribution details of the case and will be sent
        in the response when available.
      type: object
      properties:
        caseID:
          maxLength: 32
          type: string
          example: CON-5453
        status:
          maxLength: 32
          type: string
          example: In-progress
    FinalplandocRes:
      type: object
      properties:
        statusCode:
          type: integer
          example: 200
        message:
          type: string
        activityId:
          type: string
        CRCaseID:
          type: string
          description: >-
            This indicates the CaseID of the Certificate Registration case.
            Applicable when InitiateCertificateRegister is true.
          example: CR-XXXX-XXX
        Documents:
          type: array
          description: Attached documents with eplanningDocIds.
          items:
            $ref: '#/components/schemas/DocResponse'
    DeterminationRes:
      type: object
      properties:
        statusCode:
          type: integer
          example: 200
        message:
          type: string
        activityId:
          type: string
        Documents:
          type: array
          description: Attached documents with eplanningDocIds.
          items:
            $ref: '#/components/schemas/DocResponse'
    AcceptDeclineRes:
      type: object
      properties:
        statusCode:
          type: integer
          example: 200
        message:
          type: string
        activityId:
          type: string
        contributionDetails:
          type: array
          description: >-
            This is to track the infrastructure contribution's case details
            associated to the development
          items:
            $ref: '#/components/schemas/contributionDetails'
        Documents:
          type: array
          description: Attached documents with eplanningDocIds.
          items:
            $ref: '#/components/schemas/DocResponse'
    Error:
      title: Error
      required:
        - errorCode
        - statusCode
      type: object
      properties:
        statusCode:
          type: integer
          format: int32
          example: 404
        message:
          type: string
          example: Internal Server error 19876
        activityId:
          type: string
          example: 00000011-0ab-xy00-0000-500000000000
        errorCode:
          type: string
          example: DPE_TMS01
        errorDetails:
          type: string
          example: Inner Exceptions, Stack Trace, etc
    ProvideDevspec:
      title: Determination
      required:
        - developmentDetails
        - isApplicantPaidFees
        - updatedByEmail
      type: object
      properties:
        isApplicantPaidFees:
          type: boolean
          description: Has the applicant paid the application fees
        developmentDetails:
          type: string
          description: A detailed description of the development.
        proposedGrossFloorArea:
          type: number
          description: >-
            This is to track the proposed gross floor area. This attribute is
            required for all common application types except subdivision
            applications (commonApplicationType = "Subdivision").
        classOfDevelopment:
          type: array
          description: >-
            Provide development class as per Building Code of Australia. This
            attribute is required for all common application types except
            subdivision applications (commonApplicationType = "Subdivision").
          items:
            $ref: '#/components/schemas/ClassOfDevelopment'
        isApplicantDBPSelectionCorrect:
          type: boolean
          description: >-
            This is an obsolete attribute. Value for this is not required to be
            supplied anymore and when supplied the value will be ignored, as
            this attribute is functionally irrelavant.(Old description N/A-
            Indicates if the proposed development is exempted from the Design
            and Building Practitioners Act 2020. Required when
            classOfDevelopment has 'class2' in it.
        numOfBedrooms:
          type: array
          description: >-
            Applicable for the relevant development types. Please refer to the
            reference data API for the latest values.This attribute is required
            for all common application types except subdivision applications
            (commonApplicationType = "Subdivision").
          items:
            $ref: '#/components/schemas/NumberofBedrooms'
        categoryOfDevelopment:
          type: array
          description: >-
            Applicable for the relevant development types. Please refer to the
            reference data API for the latest values. This attribute is required
            for all common application types except subdivision applications
            (commonApplicationType = "Subdivision").
          items:
            $ref: '#/components/schemas/AddcategoryOfDevelopment'
        numberOfDwellingsToBeConstruct:
          type: integer
          description: >-
            Number of dwellings to be constructed. This attribute is required
            for all common application types except subdivision applications
            (commonApplicationType = "Subdivision").
          format: int32
        numberOfStoreys:
          type: integer
          description: >-
            Number of storeys (including underground floors). This attribute is
            required for all common application types except subdivision
            applications (commonApplicationType = "Subdivision").
          format: int32
        grossFloorAreaOfBuilding:
          type: number
          description: >-
            Gross floor area of the building (sqm). This attribute is required
            for all common application types except subdivision applications
            (commonApplicationType = "Subdivision").
          format: decimal
          example: 1250.9
        isNewResBuldToattach:
          type: boolean
          description: >-
            Is the new building to be attached to (or within 900mm of) an
            existing building. This attribute is required for all common
            application types except subdivision applications
            (commonApplicationType = "Subdivision").
        isNewBuildToOtherNewBuild:
          type: boolean
          description: >-
            Is the new building to be attached to (or within 900mm of) any
            proposed new building. This attribute is required for all common
            application types except subdivision applications
            (commonApplicationType = "Subdivision").
        SiteArea:
          type: number
          description: >-
            Site area in sq m. This attribute is required for all common
            application types except subdivision applications
            (commonApplicationType = "Subdivision").
          format: decimal
          example: 1250.9
        numberOfPreexistDwellings:
          type: integer
          description: >-
            Number of pre-existing dwellings on site. This attribute is required
            for all common application types except subdivision applications
            (commonApplicationType = "Subdivision").
          format: int32
        isDualOccupancyDev:
          type: boolean
          description: >-
            Does the site contain a dual occupancy development?. This attribute
            is required for all common application types except subdivision
            applications (commonApplicationType = "Subdivision")
        numberOfDwellToBeDemolish:
          type: integer
          description: >-
            Number of dwellings to be demolished. This attribute is required for
            all common application types except subdivision applications
            (commonApplicationType = "Subdivision")
          format: int32
        areaOfRepairedAsbestosMaterial:
          type: number
          description: >-
            Estimate of the area (if any) in square meters of bonded asbestos
            material or friable asbestos material that will be disturbed,
            repaired or removed in the carrying out of the development (m2).
            This attribute is required for all common application types except
            subdivision applications (commonApplicationType = "Subdivision").
          format: decimal
          example: 1250.9
        currentUseOfBuildingParts:
          type: array
          description: >-
            What is the current use of all parts of the building (s) / land? (if
            vacant please state)<img src= "webwb/requiredstar.gif">. This
            attribute is required for all common application types except
            subdivision applications (commonApplicationType = "Subdivision").
          items:
            $ref: '#/components/schemas/CurrentUseOfBuildingParts'
        otherCurrentUseOfBuildingParts:
          type: string
          description: >-
            When user choose 'Other' from the 'currentUseOfBuildingParts' list
            this field is mandatory .
        numberOfCarParkProposed:
          type: integer
          description: >-
            This is now an obsolete attribute and will e be removed in the
            subsequent YAML version.This is replaced by the
            categoryOfDevelopment object. What is the number of carparks in the
            proposed development? This question will not be visible when we
            select the either of the  development types "Demolition","Balconies,
            decks, patios, terraces of verandas","Swimming Pool", "Earthworks,
            retaining walls, protection of trees","Signage", "Subdivision of
            land ","Bed and breakfast accommodation ","Home business", "Flood
            mitigation work","Health services facilities","Port wharf boating
            facilities","Facilities for electric vehicles","Stormwater
            management systems ","Telecommunication and communication facilities
            " from applicant .
          format: int32
        numberOfStudioDwellingProposed:
          type: integer
          description: >-
            This is an obsolete attribute which will be removed in the
            subsequent YAML version.This is replaced by the number of bedrooms
            object. Number of studio dwellings in the proposed development?This
            question will be visible when we select the either of the 
            development types "Dwelling house","Secondary dwelling","Attached
            development","Manor houses","Dual occupancy","Multi-dwelling
            housing","Detached development","Alterations and additions to
            residential development", or "Bed and breakfast accommodation" from
            applicant .
          format: int32
        numberOfOneBedProposedForDev:
          type: integer
          description: >-
            This is an obsolete attribute which will be removed in the
            subsequent YAML version.This is replaced by the number of bedrooms
            object.Number of one bedroom dwellings in the proposed.This question
            will be visible when we select the either of the  development types
            "Dwelling house","Secondary dwelling","Attached development","Manor
            houses","Dual occupancy","Multi-dwelling housing","Detached
            development","Alterations and additions to residential development",
            or "Bed and breakfast accommodation" from applicant .
          format: int32
        numberOfTwoBedProposedForDev:
          type: integer
          description: >-
            This is an obsolete attribute which will be removed in the
            subsequent YAML version.This is replaced by the number of bedrooms
            object. Number of two bedroom dwellings in the proposed
            development.This question will be visible when we select the either
            of the  development types "Dwelling house","Secondary
            dwelling","Attached development","Manor houses","Dual
            occupancy","Multi-dwelling housing","Detached
            development","Alterations and additions to residential development",
            or "Bed and breakfast accommodation" from applicant. This will be
            replaced by the number of bedrooms object and will become obselete
            soon. This corresponds to the number of proposed dwellings for two
            bedrooms under number of bedrooms object.
          format: int32
        numberOfThreeBedProposedForDev:
          type: integer
          description: >-
            This is an obsolete attribute which will be removed in the
            subsequent YAML version.This is replaced by the number of bedrooms
            object. Number of three bedroom dwellings in the proposed
            development.This question will be visible when we select the either
            of the  development types "Dwelling house","Secondary
            dwelling","Attached development","Manor houses","Dual
            occupancy","Multi-dwelling housing","Detached
            development","Alterations and additions to residential development",
            or "Bed and breakfast accommodation" from applicant. This will be
            replaced by the number of bedrooms object and will become obselete
            soon. This corresponds to the number of proposed dwellings for three
            bedrooms under number of bedrooms object.
          format: int32
        numberOfFourBedProposedForDev:
          type: integer
          description: >-
            This is an obsolete attribute which will be removed in the
            subsequent YAML version.This is replaced by the number of bedrooms
            object. Number of four (or more) bedroom dwellings in the proposed
            development.This question will be visible when we select the either
            of the  development types "Dwelling house","Secondary
            dwelling","Attached development","Manor houses","Dual
            occupancy","Multi-dwelling housing","Detached
            development","Alterations and additions to residential development",
            or "Bed and breakfast accommodation" from applicant . This will be
            replaced by the number of bedrooms object and will become obselete
            soon. This corresponds to the number of proposed dwellings for four
            bedrooms under number of bedrooms object.
          format: int32
        wallMaterials:
          type: array
          description: >-
            This is to track the materials to be used for Wall. This is a
            mandatory field and will be applicable when classOfDevelopment is in
            ("Class 1a","Class 1b","Class 2","Class 3","Class 4","Class 9c").
            This attribute is required for all common application types except
            subdivision applications (commonApplicationType = "Subdivision").
          items:
            $ref: '#/components/schemas/WallMaterials'
        roofMaterials:
          type: array
          description: >-
            This is to track the materials to be used for Roof. This is a
            mandatory field and will be applicable when classOfDevelopment is in
            ("Class 1a","Class 1b","Class 2","Class 3","Class 4","Class 9c").
            This attribute is required for all common application types except
            subdivision applications (commonApplicationType = "Subdivision").
          items:
            $ref: '#/components/schemas/RoofMaterials'
        floorMaterials:
          type: array
          description: >-
            This is to track the materials used for flooring. This is a
            mandatory field and will be applicable when classOfDevelopment is in
            ("Class 1a","Class 1b","Class 2","Class 3","Class 4","Class 9c").
            This attribute is required for all common application types except
            subdivision applications (commonApplicationType = "Subdivision").
          items:
            $ref: '#/components/schemas/FloorMaterials'
        frameMaterials:
          type: array
          description: >-
            Frame Materials.This is a mandatory field and will be applicable
            when classOfDevelopment is in ("Class 1a","Class 1b","Class
            2","Class 3","Class 4","Class 9c"). This attribute is required for
            all common application types except subdivision applications
            (commonApplicationType = "Subdivision").
          items:
            $ref: '#/components/schemas/FrameMaterials'
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal
          example: john.smith@gmail.com
    RoofMaterials:
      type: string
      description: >-
        Materials to be used for Roof. One of the below mentioned values must be
        selected for RoofMaterials 1. Aluminium (70) 2. Concrete or slate – 20
        3. Fibre Cement – 30 4. Steel – 60 5. Tiles – 10 6. Other – 80 7. Not
        specified - 90
      example: Refer to description for values
    WallMaterials:
      type: string
      description: >-
        Materials to be used for Wall. One of the below mentioned values must be
        selected for WallMaterials 1. Brick (double) 11 2. Brick (veneer) – 12
        3. Concrete or stone – 20 4. Fibre Cement - 30 5. Timber – 40 6. Steel -
        60 7. Aluminium – 70 8. Curtain Glass – 50 9. Other – 80 10. Not
        specified – 90
      example: Refer to description for values
    FloorMaterials:
      type: string
      description: >-
        Materials used for flooring. One of the below mentioned values must be
        selected for FloorMaterials 1. Concrete or slate - 20 2. Timber - 40 3.
        Other - 80 4. Not specified - 90
      example: Refer to description for values
    FrameMaterials:
      type: string
      description: >-
        Frame Materials. One of the below mentioned values must be selected for
        FrameMaterials 1. Timber – 40 2. Steel – 60 3. Aluminium – 70 4. Other –
        80 5. Not specified - 90
      example: Refer to description for values
    NumberofBedrooms:
      required:
        - noOfBedrooms
      type: object
      properties:
        noOfBedrooms:
          type: string
          description: >-
            This is to track the number of bedrooms.  1. Studio 2. 1 bedroom 3.
            2 bedrooms 4. 3 bedrooms 5. 4 bedrooms 6. 5 bedrooms 7. 6+ bedrooms
          example: Refer to description for values.
        noOfDwellingsDemolished:
          type: number
          maxLength: 4
          description: Number of dwellings to be demolished.
        noOfDwellingsProposed:
          type: number
          maxLength: 4
          description: Number of dwellings to be Proposed.
    AddcategoryOfDevelopment:
      required:
        - categoryOfDevelopment
      type: object
      properties:
        categoryOfDevelopment:
          type: string
          description: This is to track the Category of development details.
          example: Refer to description for values.
        carParkingSpaces:
          type: number
          maxLength: 3
          description: Number of car parking spaces.
        motorCycleSpaces:
          type: number
          maxLength: 2
          description: Number of motorcycle spaces.
        biCycleSpaces:
          type: number
          maxLength: 2
          description: Number of bicycle spaces.
    ClassOfDevelopment:
      type: string
      description: >-
        Provide development class as per Building Code of Australia class. One
        of the below mentioned values must be selected for ClassOfDevelopment 1.
        Class 1a 2. Class 1b 3. Class 2 4. Class 3 5. Class 4 6. Class 5 7.
        Class 6 8. Class 7a 9. Class 7b 10. Class 8 11. Class 9a 12. Class 9b
        13. Class 9c 14. Class 10a 15. Class 10b 16. Class 10c
      example: Refer to description for values
    CurrentUseOfBuildingParts:
      type: string
      description: >-
        One of the below mentioned values must be selected for
        CurrentUseOfBuildingParts 1. Residential 2. Commercial 3. Industrial 4.
        Mixed use 5. Vacant 6. Other
      example: Refer to description for values
    Determination:
      title: Determination
      required:
        - certifierDetails
        - determinationDate
        - isCDCApproved
        - updatedByEmail
        - envPlanningInstrumentCDC
      type: object
      properties:
        envPlanningInstrumentCDC:
          type: array
          description: >-
            Under which Environmental Planning Instrument or Development Control
            Plan is the proposal considered to be Complying Development?
          items:
            $ref: '#/components/schemas/EnvironmentalPlanningInstList'
        exemptCDCCodeForApplication:
          type: array
          description: >-
            When Certifier choose 'State Environmental Planning Policy (Exempt
            and Complying Development Codes) 2008' from
            environmentalPlanningInstrument then this filed is mandatory.
          items:
            $ref: '#/components/schemas/ExemptCDCCodeForApplication'
        otherStateEnvpolicy:
          type: array
          description: >-
            When Certifier choose 'Other State Environmental Planning Policy'
            from environmentalPlanningInstrument then this filed is mandatory.
          items:
            $ref: '#/components/schemas/OtherStateEnvPlanningpolicy'
        otherenvPlanningInstrument:
          type: array
          description: >-
            When Certifier choose 'Other Environmental Planning Instrument (eg.
            Local Environmental Plan, Interim Development Order, Planning
            Scheme, etc)' from environmentalPlanningInstrument then this filed
            is mandatory.
          items:
            $ref: '#/components/schemas/otherenvPlanningInstrument'
        declarations:
          type: array
          description: CDC Declarations.
          items:
            $ref: '#/components/schemas/CDCdeclarations'
        siteInspectedDate:
          type: string
          description: >-
            Date of site visit, this will be mandatory when 'I confirm that I
            have inspected the site' declarations is selected.
          format: date
          example: '2020-09-10'
        isBushFireProneLand:
          title: isBushFireProneLand
          type: string
          description: >-
            Bushfire prone land? One of the below mentioned values must be
            selected for isBushFireProneLand 1. The site is bushfire prone land
            and I will send a copy of the CDC and related documents to the Rural
            Fire Service. 2. The site is not bushfire prone land. This attribute
            is required for all common application types except subdivision
            applications (commonApplicationType = "Subdivision").
          example: Refer to description for values
        certifierCategory:
          type: string
          description: >-
            This is to track the category of the certifiers. This is required
            for private certifiers and not councils. One of the below values are
            expected to be supplied. 1. Individual registered certifier under
            the Building and Development Certificates 2018 2. Registered body
            corporate under the Building and Development Certificates 2018
            Individual registered certifier value will be defaulted for private
            certifiers to support existing API users.
        RBCnumber:
          type: string
          description: >-
            This is to track Registered body corporate number. This is required
            only when certifierCategory is selected as 'Registered body
            corporate under the Building and Development Certificates 2018'.
            Registration number can be checked in the link -
            https://applications.fairtrading.nsw.gov.au/bdcregister/
        certifierDetails:
          $ref: '#/components/schemas/CertDetails'
        determinationDate:
          type: string
          description: Determination date.
          format: date
          example: '2020-09-10'
        isCDCApproved:
          title: isCDCApproved
          type: string
          description: >-
            The application has been determined and One of the below mentioned
            values must be selected for isCDCApproved 1. Approved 2. Refused
          example: Refer to description for values
        otherexemptCDCDescription:
          type: string
          description: >-
            When we choose Other from "exemptCDCCodeForApplication" list this is
            field is available.
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal
          example: john.smith@gmail.com
    EnvironmentalPlanningInstList:
      title: environmentalPlanningInstList
      type: string
      description: >-
        Under which Environmental Planning Instrument or Development Control
        Plan is the proposal considered to be Complying Development? One of the
        below mentioned values must be selected for
        environmentalPlanningInstList 1. State Environmental Planning Policy
        (Exempt and Complying Development Codes) 2008 2. State Environmental
        Planning Policy (Affordable Rental Housing) 2009 3. Other State
        Environmental Planning Policy 4. Other Environmental Planning Instrument
        (eg. Local Environmental Plan, Interim Development Order, Planning
        Scheme, etc) 5. Development Control Plan
      example: Refer to description for values
    ExemptCDCCodeForApplication:
      title: exemptCDCCodeForApplication
      type: string
      description: >-
        Under which part of the Exempt and Complying Development Code was the
        application determined? and this will be mandatory when we select 'State
        Environmental Planning Policy (Exempt and Complying Development Codes)
        2008' from EnvironmentalPlangInstList. One of the below mentioned values
        must be selected for exemptCDCCodeForApplication 1. General Housing Code
        2. Housing Code 3. Rural Housing Code 4. Low Rise Housing Diversity Code
        5. Greenfield Housing Code 6. Inland Code 7. Housing Alterations Code 8.
        General Development Code 9. Industrial and Business Alterations Code 10.
        Industrial and Business Buildings Code 11. Container Recycling
        Facilities Code 12. Subdivisions Code 13. Demolition Code 14. Fire
        Safety Code 15. Other
      example: Refer to description for values
    OtherStateEnvPlanningpolicy:
      title: OtherStateEnvPlanningpolicy
      type: string
      description: >-
        Under which part of the Exempt and Complying Development Code was the
        application determined? and this will be mandatory when we select 'Other
        State Environmental Planning Policy' from EnvironmentalPlangInstList.
        The below are an example for an address that comes under BLACKTOWN LGA
        and the other respective SEPPList Options may vary in accordance with
        LGA. One of the below mentioned values must be selected for
        OtherStateEnvPlanningpolicy 1. State Environmental Planning Policy
        (Primary Production and Rural Development) 2019 2. State Environmental
        Planning Policy (Building Sustainability Index:BASIX) 2004 3. State
        Environmental Planning Policy No 36—Manufactured Home Estates 4. State
        Environmental Planning Policy (Housing for Seniors or People with a
        Disability) 2004 5. State Environmental Planning Policy (Vegetation in
        Non-Rural Areas) 2017 6. State Environmental Planning Policy No
        55—Remediation of Land 7. State Environmental Planning Policy
        (Affordable Rental Housing) 2009 8. Sydney Regional Environmental Plan
        (Sydney Harbour Catchment) 2005 9. State Environmental Planning Policy
        No 50—Canal Estate Development 10. State Environmental Planning Policy
        No 1—Development Standards 11. State Environmental Planning Policy
        (Concurrences) 2018 12. State Environmental Planning Policy
        (Infrastructure) 2007 13. State Environmental Planning Policy No
        70—Affordable Housing (Revised Schemes) 14. State Environmental Planning
        Policy No 21—Caravan Parks 15. State Environmental Planning Policy No
        65—Design Quality of Residential Apartment Development 16. State
        Environmental Planning Policy (Miscellaneous Consent Provisions) 2007
        17. State Environmental Planning Policy (Exempt and Complying
        Development Codes) 2008 18. State Environmental Planning Policy
        (Educational Establishments and Child Care Facilities) 2017 19. State
        Environmental Planning Policy No 33—Hazardous and Offensive Development
        20. State Environmental Planning Policy No 64—Advertising and Signage
        21. State Environmental Planning Policy (Mining, Petroleum Production
        and Extractive Industries) 2007 22. State Environmental Planning Policy
        No 19—Bushland in Urban Areas
      example: Refer to description for values
    otherenvPlanningInstrument:
      title: otherenvPlanningInstrument
      type: string
      description: >-
        Under which part of the Exempt and Complying Development Code was the
        application determined? and this will be mandatory when we select 'Other
        Environmental Planning Instrument (eg. Local Environmental Plan, Interim
        Development Order, Planning Scheme, etc)' from
        EnvironmentalPlangInstList. The below are an example for an address that
        comes under BLACKTOWN LGA and the other respective Local Environment
        plan options may vary in accordance with LGA.
    CDCdeclarations:
      title: CDCdeclarations
      type: string
      description: >-
        CDC declarations are replaced with the confirmation text that reads ' By
        submitting this page and uploading the relevant documentation, I confirm
        that all documents have been signed by an appropriately qualified person
        and that all relevant legislative and regulatory requirements have been
        considered and adhered to as attested to by the signatory on the
        certificate.' This is an obsolete attribute.
    CertDetails:
      title: CertifierDetails
      required:
        - accreditationNo
        - registeredCertifierState
      type: object
      properties:
        firstName:
          maxLength: 20
          type: string
          description: >-
            FirstName will be ignored, as the first name details are fetched in
            the backend using the registration number search (accreditationNo)
            and fullname will be populated.
          example: John
        familyname:
          maxLength: 20
          type: string
          description: >-
            Familyname will be ignored, as the family name details are fetched
            in the backend using the registration number search
            (accreditationNo) and full name will be populated.
          example: Smith
        accreditationNo:
          type: string
          description: >-
            This is to track the BDC registration number that is applicable for
            NSW certifiers (OR) AMR registration number (e.g. AMR-123456) that's
            applicable for interstate certifiers.
        registeredCertifierState:
          type: string
          description: >-
            This is to track the state of the registered certifier. NSW state is
            enabled as the default selection for the Council and the private
            certifiers. 1. Yes, in NSW 2. Yes, in another state
          example: Refer to description for values
        registrationStateorTerritoryName:
          type: string
          description: >-
            This is to track the Registration state or territory. This is
            required when registeredCertifierState is "Yes, in another state" 1.
            Victoria 2. South Australia 3. Western Australia 4. Tasmania 5.
            Northern Territory 6. Australian Capital Territory
          example: Refer to description for values
        interStateLicenseNumber:
          type: string
          description: >-
            This is to track the Interstate license number. This is required
            when registeredCertifierState is "Yes, in another state"
    DevelopmentVariationDetails:
      title: DevelopmentVariationDetails
      type: object
      properties:
        developmentStandard:
          $ref: '#/components/schemas/DevelopmentStandard'
        clauseNumber:
          type: string
          description: Clause number
        varPercentageOnSubmission:
          type: integer
          description: >-
            Percentage value of the variation sought by the applicant when
            submitted
          format: int32
        approvedVarValue:
          type: integer
          description: Percentage value of the variation approved by Council
          format: int32
        briefVariationJustification:
          type: string
          description: Brief justification for the variation
        approvedVariationAuthority:
          $ref: '#/components/schemas/ApprovedVariationAuthority'
    UploadFinalPlanDocuments:
      title: UploadFinalPlanDocuments
      type: object
      properties:
        InitiateCertificateRegister:
          type: boolean
          description: >-
            This is applicable for private certifiers only and not applicable
            for councils. When the value true is given, a related inprogress
            Certificate Registration case will be created. When false value is
            given, Certificate Registration case will not be created.
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal
          example: john.smith@gmail.com
    ApprovedVariationAuthority:
      title: ApprovedVariationAuthority
      type: string
      description: >-
        Concurring authority for the approved variation. One of the below
        mentioned values must be selected for ApprovedVariationAuthority 1.
        Council 2. Department of Planning, Industry and Environment
      example: Refer to description for values
    DevelopmentStandard:
      title: DevelopmentStandard
      type: string
      description: >-
        Name of the clause to be varied, as sought by the applicant when
        submitted. One of the below mentioned values must be selected for
        DevelopmentStandard 1. Floor space ratio 2. Height 3. Lot Size 4. Other
      example: Refer to description for values
    ReviewOfOutcome:
      title: ReviewOfOutcome
      type: string
      description: >-
        What is the outcome of your review, Accept or Decline. One of the below
        mentioned values must be selected for ReviewOfOutcome 1. Accept
        application for assessment 2. Decline application for assessment 3.
        Return to applicant
      example: Refer to description for values
    ReasonsForReturn:
      title: ReasonsforReturn
      type: string
      description: >-
        This is track the list of reasons for returning the application to the
        applicant for any amendment on the application. Below are the sample
        values. Please refer to the reference data API for the list of latest
        values. 1. The application is missing relevant documents 2. The
        application contains incorrect information 3. The application contains
        incorrect information 4. Other
